Robot cleaner using edge detection and method of controlling the same

ABSTRACT

A robot cleaner and a method of controlling the same are disclosed. The robot cleaner cleans a given cleaning area simultaneously while moving in the cleaning area. The method includes detecting whether an obstacle exists in a traveling path of the robot cleaner, determining whether the detected obstacle is an edge when the obstacle is detected, cleaning a predetermined area centering around the edge when the detected obstacle is determined to be the edge, and determining whether the cleaning area is completely cleaned on the basis of information of the detected edge while cleaning the predetermined area.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Korean Patent Application No. 2007-0014100, filed on Feb. 10, 2006 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.

BACKGROUND

1. Field

The present invention relates to a robot cleaner to move in a specific area to be cleaned by itself so that it cleans the specific area, and more particularly to a robot cleaner to determine whether a target area is completely cleaned using edge information of the target area, and a method for controlling the same.

2. Description of the Related Art

Generally, a robot cleaner moves in a target area to be cleaned by itself without receiving a user command, and sucks up dust or foreign material from the bottom of the target area, thereby cleaning the target area. The robot cleaner decides the distance to an obstacle (e.g., a furniture, office supplies, or a wall) contained in the target area using its sensor, and moves in the target area without colliding with the obstacle on the basis of the decided distance to clean the target area.

The above-mentioned case in which the given area is cleaned by the robot cleaner indicates that the robot cleaner moves in the area according to a predetermined cleaning pattern so that the area is repeatedly cleaned. Representative cleaning patterns are a zigzag-moving pattern, a spiral-moving pattern, and a random-moving pattern, for example. A method of cleaning a target area using the robot cleaner when the predetermined cleaning pattern is the combination of the spiral-moving pattern and the random-moving pattern will hereinafter be described with reference to FIG. 1.

In FIG. 1, if the robot cleaner is powered on, the robot cleaner begins to clean a given cleaning area at operation 1. In this case, the robot cleaner rotates by a predetermined spiral size to clean the cleaning area. After the spiral rotation of the robot cleaner is terminated, the robot cleaner moves in the area by a predetermined distance at random, and increases the number of cleaning-pattern executions by “1” at operation 3. The robot cleaner compares the number of cleaning-pattern executions with a predetermined number at operation 5. If the number of cleaning-pattern executions is equal to or higher than the predetermined number at operation 5, the robot cleaner determines the given area is completely cleaned at operation 7. If the number of cleaning-pattern executions is less than the predetermined number at operation 5, the robot cleaner returns to operation 1 and repeats the cleaning operation of the predetermined cleaning pattern.

If the robot cleaner recognizes that the given cleaning area has been completely cleaned, it moves to another cleaning area using a wall-following technique at operation 9, and begins to clean the corresponding cleaning area.

The cleaning area of the robot cleaner is composed of various-sized rooms, so that the number of cleaning-pattern executions must be changed according to the room sizes. However, most robot cleaners that have initially prescribed the number of cleaning-pattern executions to decide whether the cleaning is completed or not have come onto the market. In this case, the number of executions prescribed by manufacturers of the robot cleaners has been generally less than the number of necessary executions appropriate for the room size, so that the room may be unsatisfactorily cleaned and an uncleaned area may occur. Otherwise, if the number of executions prescribed by the manufacturers is excessively higher than the number of appropriate executions, an uncleaned area may not occur, but the number of repeatedly-cleaned areas increases, so that a battery lifetime of the robot cleaner may be unavoidably shortened.

Besides, if the cleaning area is complicated, an uncleaned area may also occur. Specifically, if the robot cleaner rotates at an edge part adjacent to the wall, the conventional robot cleaner has difficulty in effectively cleaning the edge part.

SUMMARY

Therefore, it is an aspect of the embodiment to provide a robot cleaner determining whether a target area is completely cleaned using both a rotation angle of the robot cleaner at each edge of the target area and the number of edges, and effectively cleaning the target area, and a method of controlling the same.

Additional aspects and/or advantages will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.

In accordance with the embodiment, the above and/or other aspects can be achieved by the provision of a method of controlling a robot cleaner which cleans a given cleaning area simultaneously while moving in the cleaning area, the method including: detecting whether an obstacle exists in a traveling path of the robot cleaner; determining whether the detected obstacle is an edge when the obstacle is detected; cleaning a predetermined area centering around the edge when the detected obstacle is determined to be the edge; and determining whether the cleaning area is cleaned on the basis of information of the detected edge while cleaning the predetermined area.

The method further includes determining whether the obstacle is the wall, before determining whether the detected obstacle is the edge.

The determining whether the obstacle is the wall includes: detecting whether the obstacle is in the traveling path of the robot cleaner, moving the robot cleaner to go straight in parallel to the obstacle by a first predetermined distance when the obstacle is detected to be in the traveling path of the robot cleaner; and determining whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the first predetermined distance or more, and determining that the detected obstacle is the wall when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the first predetermined distance or more.

The determining whether the obstacle is the edge includes: moving the robot cleaner to go straight in parallel to the wall by a second predetermined distance when the detected obstacle is determined to be the wall; and determining whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more, and determining that the detected obstacle is the edge when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more.

The predetermined area may be a square area formed by the edge and a reference point located in a diagonal direction from the edge.

The cleaning of the predetermined area centering around the edge includes: moving the robot cleaner to go straight in parallel to the wall by a set distance at coordinates of the edge, rotating the robot cleaner by 90° and moving the robot cleaner to go straight again by the set distance when the detected obstacle is determined to be the edge; establishing a square area in which a reference point and coordinates of the edge are used as both end points of a diagonal line when the robot cleaner is moved straight by the set distance, rotated by 90°, moved straight again by the set distance and reaches the reference point acting as an arrival point; and cleaning a cleaning area for each established area.

The edge information is indicative of a sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of angles of the robot cleaner which rotates at the edge simultaneously while cleaning the cleaning area.

The determining whether the cleaning area is cleaned includes: calculating the sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of angles of the robot cleaner rotating at the edge; and determining whether a predetermined cleaning-completion condition of the cleaning area is satisfied on the basis of both the sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of the angles and a number of determined edges.

The cleaning-completion condition indicates whether the sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of angles of the robot cleaner rotating at the edge satisfies the following equation:

${{180{^\circ} \times \left( {n_{c} - n_{m} - 2} \right)} - \Delta} \leq {\sum\limits_{j}Q_{j}^{{^\circ}}} \leq {{180{^\circ} \times \left( {n_{c} - n_{m} - 2} \right)} + \Delta}$

where, n_(c) is indicative of the number of edges, n_(m) is indicative of the number of similar edges, Q_(j) ^(o) is indicative of an interior angle of a polygon, and Δ is indicative of an error value capable of reducing an error rate when the cleaning-completion condition is determined to be satisfied.

The foregoing and/or other aspects are achieved by providing a robot cleaner which cleans a given cleaning area simultaneously while moving in the cleaning area, the robot cleaner including: an obstacle detector detecting whether an obstacle exists in a traveling path of the robot cleaner; and a controller determining whether the detected obstacle is an edge when the obstacle is detected, cleaning a predetermined area centering around the edge if the detected obstacle is determined to be the edge, and determining whether the cleaning area is cleaned on the basis of information of the edge.

The controller determines whether the obstacle is a wall before determining whether the detected obstacle is the edge.

The controller, moves the robot cleaner to go straight in parallel to the obstacle by a first predetermined distance when the obstacle is detected in the traveling path of the robot cleaner, determines whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the first predetermined distance or more, and determines that the detected obstacle is the wall when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the first predetermined distance or more.

The controller moves the robot cleaner to go straight in parallel to the wall by a second predetermined distance when the detected obstacle is determined to be the wall, determines whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more, and determines that the detected obstacle is the edge when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more.

The predetermined area may be a square area which is formed by the edge and a reference point located in a diagonal direction from the edge.

The foregoing and/or other aspects are achieved by providing a method of controlling a robot cleaner, including: determining coordinates of a detected edge of a wall; moving the robot cleaner indirectly to a reference point located in a diagonal direction from the edge; determining a cleaning area using coordinates of the detected edge and the reference point; and cleaning the determined cleaning area.

The foregoing and/or other aspects are achieved by providing a method of controlling a robot, including: detecting an obstacle in a path of the robot cleaner; determining whether the detected obstacle is a wall; and performing a cleaning operation specific to the detected obstacle, on the basis of information obtained as a result of the determination as to whether the detected obstacle is a wall.

The determining whether the detected obstacle is the wall includes: moving the robot cleaner to go straight in parallel to the obstacle; and determining that the obstacle is the wall when the obstacle is detected while the robot cleaner moves straight in parallel to the obstacle by a predetermined distance or more.

The foregoing and/or other aspects are achieved by providing a robot cleaner, including: an obstacle detector detecting an obstacle in a path of the robot cleaner, the obstacle detected being an edge of a wall; and a controller determining coordinates of a detected edge of a wall; moving the robot cleaner to a diagonal point from the detected edge with respect to the wall; determining a cleaning area using coordinates of the detected edge and the diagonal point; and controlling the robot cleaner to clean the determined cleaning area.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:

FIG. 1 is a flow chart illustrating a conventional method of determining whether a target area is completely cleaned using a robot cleaner;

FIG. 2 is a block diagram illustrating a robot cleaner according to an embodiment;

FIG. 3 is a flow chart illustrating a method of determining whether a target area is completely cleaned using a robot cleaner according to the present embodiment;

FIG. 4 is a flow chart illustrating a method of recognizing a wall of a target area using a robot cleaner according to the present embodiment;

FIG. 5 is a conceptual diagram illustrating a method of recognizing a wall using a robot cleaner according to the present embodiment;

FIG. 6 is a flow chart illustrating a method of recognizing an edge part of a target area using a robot cleaner according to the present embodiment; and

FIG. 7 is a conceptual diagram illustrating a method of cleaning a target area using a robot cleaner according to the present embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Reference will now be made in detail to the embodiment, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. The embodiment is described below to explain the present invention by referring to the figures.

A robot cleaner according to the present embodiment is a general automatic robot cleaner which includes wheels to move the robot cleaner and a suction part to perform a cleaning function. It should be noted that the present embodiment can be applied to all kinds of robot cleaners, so that a detailed description of the robot cleaners will herein be omitted for the convenience of description.

FIG. 2 is a block diagram illustrating a robot cleaner according to an embodiment. Referring to FIG. 1, the robot cleaner according to the present embodiment includes an input unit 10, an obstacle detector 12, a traveling-distance detector 14, a traveling-direction detector 16, a controller 18, a driver 20, a suction part 24, and a storage unit 26.

The input unit 10 includes a key entry unit or remote-controller to receiving a cleaning command of the robot cleaner from a user.

The obstacle detector 12 detects furniture, office supplies, walls, etc. contained in a cleaning area of the robot cleaner. The obstacle detector 12 emits an ultrasound signal to a traveling path of the robot cleaner, receives the ultrasound signal reflected from the obstacle, and determines the presence or absence of an obstacle and the distance to the obstacle. Meanwhile, the obstacle detector 12 may include a plurality of infrared light-emitting elements and a plurality of infrared light-receiving elements, so that the obstacle detector 12 may be configured in the form of an infrared sensor to emit/receive the light signal.

The traveling-distance detector 14 detects the traveling distance of the robot cleaner, measures the number of rotations of wheels mounted to the bottom of the robot cleaner using an encoder, and detects the traveling distance of the robot on the basis of the measured number of rotations.

The traveling-direction detector 16 detects a rotation angle of the robot cleaner. If an obstacle has been detected on the traveling path of the robot cleaner, the traveling-direction detector is implemented with a rotation-angle sensor (e.g., a gyro sensor) to detect the rotation angle of the robot cleaner at the detected obstacle.

The controller 18 controls overall operations of the robot cleaner. The robot cleaner moves in a cleaning area by itself using a variety of cleaning patterns capable of effectively cleaning the cleaning area, and cleans the cleaning area. For this purpose, the controller 18 extracts edge information, performs the cleaning operation for each edge, and determines whether the area to be cleaned is completely cleaned or not using the rotation angle and the number of edges of the robot cleaner located at each edge simultaneously while cleaning each edge.

The driver 20 drives the left and right wheels 21 and 22 mounted to a bottom of the robot cleaner, so that the robot cleaner moves in the cleaning area by itself according to a control signal of the controller 18 simultaneously while diverting the rotation direction to another direction using the wheels 21 and 22.

The suction part 24 sucks up dust or foreign material from the target area to be cleaned upon receiving a control signal from the controller 18, thereby cleaning the target area.

The storage unit 26 registers obstacle- and edge-information extracted from the controller 18, and stores the registered information.

Operations of the above-mentioned robot cleaner, a method of controlling the robot cleaner, and effects thereof will hereinafter be described.

FIG. 3 is a flow chart illustrating a method of determining whether a target area is completely cleaned using a robot cleaner according to the present invention.

Referring to FIG. 3, if the robot cleaner is powered on and the input unit 10 enters a cleaning command in the robot cleaner, the controller 18 initializes a number (n_(c)) of edges of a target area to be cleaned to be zero, initializes a number (n_(m)) of similar edges of the target area to be zero, and initializes a sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of interior angles created by the robot cleaner rotating at the edge at operation 100.

The controller 18 recognizes walls of the target area at operation 200, such that the controller 18 recognizes the presence of any edge at operation 300 and the controller 18 recognizes the edge coordinates (X_(c), Y_(c), θ_(c)). A detailed description thereof will be described later with reference to FIGS. 4 and 6.

After recognizing the wall and edge of the target area indicating the cleaning area, the robot cleaner goes straight in parallel to the walls by a predetermined distance Dset pre-stored in the controller 18 at the recognized edge at operation 400, so that the robot cleaner establishes a cleaning area for each area centering around the recognized edge. The robot cleaner rotates in the left or right direction by 90° at operation 500, so that the robot cleaner goes straight again by the predetermined distance Dset at operation 600.

In this way, the robot cleaner goes straight along the wall by the distance Dset centering around the recognized edge (i.e., the starting point), rotates by 90°, and goes straight again by the distance Dset, such that the robot cleaner reaches a reference point (i.e., an arrival point). The robot cleaner determines a square area in which coordinates of the recognized edges are used as both end points of a diagonal line to be the cleaning area for each area, and cleans the cleaning area for each edge area using a predetermined cleaning pattern (e.g., zigzag pattern) at operation 700.

While cleaning the cleaning area for each edge area using the above-mentioned method, the controller 18 determines whether the sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of interior angles of the robot cleaner rotating at the edge satisfies the cleaning-completion condition prescribed in the following equation 1 at operation 800. If the cleaning-completion condition is not satisfied at operation 800, the controller 18 returns to the operation 200 to search for the next edge, and repeats operations from the wall-recognizing process.

$\begin{matrix} {{{180{^\circ} \times \left( {n_{c} - n_{m} - 2} \right)} - \Delta} \leq {\sum\limits_{j}Q_{j}^{{^\circ}}} \leq {{180{^\circ} \times \left( {n_{c} - n_{m} - 2} \right)} + \Delta}} & \left\lbrack {{Equation}\mspace{14mu} 1} \right\rbrack \end{matrix}$

In Equation 1, n_(c) is indicative of the number of edges, n_(m) is indicative of the number of similar edges,

$\sum\limits_{j}Q_{j}^{{^\circ}}$

is indicative of a sum of polygonal interior angles, and Δ is indicative of an error value capable of reducing an error rate when the cleaning-completion condition is decided.

If the cleaning-completion condition of Equation 1 is satisfied at operation 800, the controller 18 determines that the given cleaning area has been completely cleaned at operation 900, goes to the next cleaning area, and begins to clean the next cleaning area.

A method of recognizing the walls of the cleaning area to be cleaned by the robot cleaner will hereinafter be described with reference to FIG. 4.

FIG. 4 is a flow chart illustrating a method of recognizing the wall of a target area using a robot cleaner according to the present embodiment, so that the controller 18 determines whether a detected obstacle is the wall or not using the method of FIG. 4.

In order to determine whether the target area is completely cleaned or not, the rotation angle of the robot cleaner at the edge must be recognized. Therefore, before recognizing the edges, the robot cleaner must recognize the wall.

Referring to FIG. 4, if the obstacle detector 12 detects an obstacle located ahead of the robot cleaner at operation 204 while the robot cleaner goes straight to recognize the wall at operation 202, the controller 18 rotates the robot cleaner to recognize the obstacle in the lateral direction at operation 206. If the robot cleaner does not detect an obstacle at operation 204, the controller 18 returns to operation 202. After the robot cleaner rotates, the robot cleaner goes straight in parallel to the obstacle at operation 208.

In the case, the traveling distance created by the robot cleaner which rotates and then goes straight in parallel to the obstacle is detected by the traveling-distance detector 14, and is then applied to the controller 18 at operation 210.

Therefore, after the traveling-distance detector 14 detects the rotation of the robot cleaner, the controller 18 determines whether the traveling distance is equal to or higher than a first distance at operation 212. In this case, the first distance is established by the controller 18 to determine whether the obstacle is the wall or another obstacle, such that the robot cleaner moves by the first distance to determine whether the obstacle is the wall or not.

If the traveling distance is equal to or higher than the first distance at operation 212, and the obstacle detector 12 continuously detects the obstacle at a lateral side while the robot cleaner goes straight in parallel to the obstacle by the first distance or more at operation 214, the controller 18 recognizes the detected obstacle to be the wall, and registers the recognized wall in the storage unit 26 at operation 216. If the traveling distance is less than the first distance at operation 212, the controller 18 returns to operation 202. If the obstacle detector 12 does not continuously detect the obstacle at a lateral side while the robot cleaner goes straight in parallel to the obstacle by the first distance or more, the controller 18 recognizes the detected obstacle to be a general obstacle, returns to operation 202, and repeats operations from the operation 202 to search for the next obstacle.

FIG. 5 is a conceptual diagram illustrating a method of recognizing the wall using the robot cleaner according to the present embodiment. If the robot cleaner going straight detects the obstacle, the method of determining whether the obstacle detected by operations of FIG. 4 is the wall or not is shown in FIG. 5.

Referring to FIG. 5, after the robot cleaner begins to go straight at a starting point S1 and detects the obstacle at the point A1, the robot cleaner rotates to the right by a predetermined angle, goes straight in parallel to the obstacle by a predetermined distance, and determines whether the obstacle is the wall or not at the point B1. In this case, the obstacle detector 12 does not recognize the obstacle, such that the obstacle detected at the point A1 is determined to be a general obstacle. Thereafter, if the robot cleaner begins to go straight at the starting point S2, detects the obstacle at the point A2, and determines whether the obstacle is the wall at the point B2, the robot cleaner detects the obstacle at the point A2, and goes straight by a predetermined distance or more, so that the obstacle detector 12 can recognize the obstacle. As a result, the obstacle detected at the point A2 is recognized as the wall.

FIG. 6 is a flow chart illustrating a method of recognizing an edge part of the target area using the robot cleaner according to the present embodiment, so that the robot cleaner can determine whether the wall recognized by operations of FIG. 4 is the edge or not according to the method of FIG. 6.

In FIG. 6, if the controller 18 detects the obstacle in front of the robot cleaner by the obstacle detector 12 at operation 304 while the robot cleaner goes straight in parallel to the wall to recognize the edge at operation 302, the controller 18 rotates the robot cleaner in the right or left direction to laterally detect the obstacle at operation 306. If an obstacle is not detected in the front of the robot cleaner by the obstacle detector 12, the controller 18 returns to operation 302. After rotating the robot cleaner, if the obstacle is detected in front of the robot cleaner, the controller 18 registers coordinates (Xs, Ys, θ_(s)) of the robot cleaner as candidate coordinates of the edge in the storage unit 26 at operation 308.

After registering the coordinates (Xs, Ys, θ_(s)) of the robot cleaner in the storage unit 26, the robot cleaner goes straight in parallel to the obstacle at operation 310.

In this case, the cleaner's traveling distance created when the robot cleaner rotates and goes straight in parallel to the obstacle is detected by the traveling-distance detector 14, and is then applied to the controller at operation 312.

Then, the controller 18 determines whether the above-mentioned traveling distance is equal to or higher than a second distance at operation 314. In this case, the second distance is established by the controller 18 to determine whether the obstacle is the edge or the wall, such that the robot cleaner moves by the second distance to determine whether the obstacle is the edge or the wall.

If the traveling distance is equal to or higher than the second distance at operation 314, and the obstacle detector 12 continuously detects the obstacle in the lateral direction while the robot cleaner goes straight in parallel to the obstacle by the second distance or more at operation 316, the controller 18 recognizes the registered edge candidate coordinates (Xs, Ys, θ_(s)) as edge coordinates in the storage unit 26 at operation 318, increases the number (n_(c)) of registered edges by “1” at operation 320, and adds the rotation angle of the robot cleaner rotating at the edge to the sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of all the rotation angles of the robot cleaner at operation 322.

If the number of edges of the cleaning area is N, the sum

$\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$

of the rotation angles can be calculated by the following equation 2:

$\begin{matrix} {{\sum\limits_{j}Q_{j}^{{^\circ}}} = {180{^\circ} \times \left( {n_{c} - n_{m} - 2} \right)}} & \left\lbrack {{Equation}\mspace{14mu} 2} \right\rbrack \end{matrix}$

In Equation 2, Q_(j) ^(o) is indicative of an interior angle of a polygon, and n_(c)−n_(m) is indicative of the number of polygonal edges. A predetermined polygon is divided into (n_(c)−n_(m)−2) triangles, and the sum of interior angles of the triangles is 180°, such that the above-mentioned Equation 2 can be implemented. In other words, if the sum of rotations angle of the robot cleaner located at the edge in a predetermined cleaning area satisfies the above-mentioned Equation 2, this indicates that the robot cleaner has passed all the edges of the given cleaning area one or more times. Therefore, provided that the robot cleaner cleans a predetermined area centering around each edge, the controller 18 determines that the given area has been completely cleaned by the robot cleaner after the robot cleaner has passed all the edges.

In the meantime, if the traveling distance is less than the second distance at operation 314, the controller 18 returns to operation 302. In addition, if the obstacle detector 12 does not continuously detect the obstacle at a lateral side while the robot cleaner goes straight in parallel to the obstacle by a second distance or more at operation 316, the controller 18 recognizes the detected obstacle as the wall instead of the edge, and increases the number n_(m) of similar edges by “1” at operation 324.

If the sum of the number n_(c) of edges and the number n_(m) of similar edges is calculated by the above-mentioned process, the controller substitutes the number n_(c) of edges and the number n_(m) of similar edges into the above operation 800 shown in FIG. 3, so that it determines whether the robot cleaner has completely cleaned the given area.

FIG. 7 is a conceptual diagram illustrating a method of cleaning the target area using the robot cleaner according to the present embodiment.

Referring to FIG. 7, after the robot cleaner begins to go straight at the starting point S and detects the obstacle at the point A1, it determines whether the detected obstacle is the wall or a general obstacle using the operations of FIG. 4. If the wall is decided, the robot cleaner goes straight in parallel to the wall. If the robot cleaner re-detects the obstacle at the point B, it rotates to allow the obstacle detector to recognize the obstacle, and memorizes coordinates of the corresponding point B as the edge candidate coordinates. If the point B is determined to be the edge according to operations of FIG. 6, the robot cleaner goes straight to the point C by a predetermined distance to establish coordinates for each edge area of the cleaning area, rotates by 90°, and goes straight again to the point D by the predetermined distance.

The robot cleaner determines a square area in which the B and D points are used as both end points of a diagonal line to be the cleaning area for each area, and cleans the cleaning area for each edge area using a predetermined cleaning pattern (e.g., a zigzag pattern). After the cleaning area for each edge area has been completely cleaned, the robot cleaner determines whether the given cleaning area has been completely cleaned. In this case, the rotation angle of the robot cleaner located at the B point is 90°, so that the cleaning-completion conditions are not satisfied. Therefore, the controller recognizes again the wall at the E point according to operations of FIG. 4, goes straight in parallel to the wall, and recognizes the next edge point (F). By the above-mentioned operations, the robot cleaner establishes the cleaning area for each area centering around the edge, and repeats the above-mentioned operations until the cleaning-completion condition is satisfied.

As is apparent from the above description, the robot cleaner and the method of controlling the same according to the present embodiment determine whether a target cleaning area is completely cleaned using both a rotation angle of the robot cleaner at each edge of the target area and the number of edges, and prevent any uncleaned area from being generated, and minimize the number of repeatedly-cleaned areas, thereby effectively cleaning the target area.

Since the number of repeatedly-cleaned areas is minimized, the robot cleaner can increase the battery lifetime of the robot cleaner, and can clean a wider area. If the cleaning area is complicated, the robot cleaner can effectively clean even the edge part.

Although an embodiment has been shown and described, it would be appreciated by those skilled in the art that changes may be made in this embodiment without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents. 

1. A method of controlling a robot cleaner which cleans a given cleaning area simultaneously while moving in the cleaning area, the method comprising: detecting whether an obstacle exists in a traveling path of the robot cleaner; determining whether the obstacle is an edge when the obstacle is detected; cleaning a predetermined area centering around the edge when the detected obstacle is determined to be the edge.
 2. The method according to claim 1, further comprising: determining whether the obstacle is a wall, before determining whether the detected obstacle is the edge.
 3. The method according to claim 2, wherein the determining whether the obstacle is the wall includes: detecting whether the obstacle is in the traveling path of the robot cleaner; moving the robot cleaner to go straight in parallel to the obstacle by a first predetermined distance when the obstacle is detected to be in the traveling path of the robot cleaner; determining whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the first predetermined distance or more; and determining that the detected obstacle is the wall when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the first predetermined distance or more.
 4. The method according to claim 3, wherein the determining whether the obstacle is the edge includes: moving the robot cleaner to go straight in parallel to the wall by a second predetermined distance when the detected obstacle is determined to be the wall; determining whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more; and determining that the detected obstacle is the edge when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more.
 5. The method according to claim 1, wherein the predetermined area is a square area formed by the edge and a reference point located in a diagonal direction from the edge.
 6. The method according to claim 5, wherein the cleaning of the predetermined area centering around the edge includes: moving the robot cleaner to go straight in parallel to the wall by a set distance at coordinates of the edge, rotating the robot cleaner by 90° and moving the robot cleaner to go straight again by the set distance when the detected obstacle is determined to be the edge; establishing a square area in which a reference point and coordinates of the edge are used as both end points of a diagonal line when the robot cleaner is moved straight by the set distance, rotated by 90°, moved straight again by the set distance and reaches the reference point acting as an arrival point; and cleaning a cleaning area for each established area.
 7. The method according to claim 1, wherein the edge information is indicative of a sum $\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$ of angles of the robot cleaner which rotates at the edge simultaneously while cleaning the cleaning area.
 8. The method according to claim 7, wherein the determining whether the cleaning area is completely cleaned includes: calculating the sum $\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$ of angles of the robot cleaner rotating at the edge; and determining whether a predetermined cleaning-completion condition of the cleaning area is satisfied on the basis of both the sum $\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$ of the angles and a number of determined edges.
 9. The method according to claim 8, wherein the cleaning-completion condition indicates whether the sum $\left( {\sum\limits_{j}Q_{j}^{{^\circ}}} \right)$ of angles of the robot cleaner rotating at the edge satisfies the following equation: ${{180{^\circ} \times \left( {n_{c} - n_{m} - 2} \right)} - \Delta} \leq {\sum\limits_{j}Q_{j}^{{^\circ}}} \leq {{180{^\circ} \times \left( {n_{c} - n_{m} - 2} \right)} + \Delta}$ where, n_(c) is indicative of the number of edges, n_(m) is indicative of a number of similar edges, Q_(j) ^(o) is indicative of an interior angle of a polygon, and Δ is indicative of an error value capable of reducing an error rate when the cleaning-completion condition is determined to be satisfied.
 10. A robot cleaner which cleans a given cleaning area simultaneously while moving in the cleaning area, the robot cleaner comprising: an obstacle detector detecting whether an obstacle exists in a traveling path of the robot cleaner; and a controller determining whether the detected obstacle is an edge when the obstacle is detected, cleaning a predetermined area centering around the edge if the detected obstacle is determined to be the edge, and determining whether the cleaning area is cleaned on the basis of information of the edge.
 11. The robot cleaner according to claim 10, wherein the controller determines whether the obstacle is a wall before determining whether the detected obstacle is the edge.
 12. The robot cleaner according to claim 11, wherein the controller moves the robot cleaner to go straight in parallel to the obstacle by a first predetermined distance when the obstacle is detected in the traveling path of the robot cleaner, determines whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by first predetermined distance or more, and determines that the detected obstacle is the wall when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the first predetermined distance or more.
 13. The robot cleaner according to claim 12, wherein the controller moves the robot cleaner to go straight in parallel to the wall by a second predetermined distance when the detected obstacle is determined to be the wall, determines whether the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more, and determines that the detected obstacle is the edge when the obstacle is detected while the robot cleaner goes straight in parallel to the obstacle by the second predetermined distance or more.
 14. The robot cleaner according to claim 10, wherein the predetermined area is a square area which is formed by the edge and a reference point located in a diagonal direction from the edge.
 15. The robot cleaner according to claim 1, further comprising determining whether the cleaning area is cleaned on the basis of information of the determined edge while cleaning the predetermined area.
 16. A method of controlling a robot cleaner, comprising: determining coordinates of a detected edge of a wall; moving the robot cleaner indirectly to a reference point located in a diagonal direction from the edge; determining a cleaning area using coordinates of the detected edge and the reference point; and cleaning the determined cleaning area.
 17. A method of controlling a robot, comprising: detecting an obstacle in a path of the robot cleaner; determining whether the detected obstacle is a wall; and performing a cleaning operation specific to the detected obstacle, on the basis of information obtained as a result of the determination as to whether the detected obstacle is a wall.
 18. The method of claim 17, wherein the determining whether the detected obstacle is the wall includes: moving the robot cleaner to go straight in parallel to the obstacle; and determining that the obstacle is the wall when the obstacle is detected while the robot cleaner moves straight in parallel to the obstacle by a predetermined distance or more.
 19. A robot cleaner, comprising: an obstacle detector detecting an obstacle in a path of the robot cleaner, the obstacle detected being an edge of a wall; and a controller determining coordinates of a detected edge of a wall; moving the robot cleaner to a diagonal point from the detected edge with respect to the wall; determining a cleaning area using coordinates of the detected edge and the diagonal point; and controlling the robot cleaner to clean the determined cleaning area. 